package com.idp.web.shop.entity;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

import org.springframework.format.annotation.DateTimeFormat;

import com.idp.common.base.BaseEntity;

/**
 * @desc 商品分类实体类.
 * @author wjw
 * @time 2018年4月20日下午2:37:18
 */
public class Category extends BaseEntity implements Serializable {
	
	private static final long serialVersionUID = 1L;
	
	/**主键id*/
	private String id;
	/**上级分类Id*/
	private String parentId;
	/**分类名称*/
	private String name;
	/**删除标记*/
	private String delFlag;
	/**创建时间*/
	@DateTimeFormat(pattern="yyyy-MM-ddHH:mm:ss")
	private Date createTime;
	/** 排序 */
	private Integer sort;
	
	/** 记录下级类型的数量 */
	private Integer childNum;
	/** 父级类型 */
	private Category parentCategory;
	/** 子类型集合 */
	private List<Category> children = new ArrayList<Category>();
	/**
	 *方法: 取得String
	 *@return: String  主键id
	 */
	public String getId(){
		return this.id;
	}

	/**
	 *方法: 设置String
	 *@param: String  主键id
	 */
	public void setId(String id){
		this.id = id;
	}
	
	/**
	 *方法: 取得String
	 *@return: String  上级分类Id
	 */
	public String getParentId(){
		return this.parentId;
	}

	/**
	 *方法: 设置String
	 *@param: String  上级分类Id
	 */
	public void setParentId(String parentId){
		this.parentId = parentId;
	}
	
	/**
	 *方法: 取得String
	 *@return: String  分类名称
	 */
	public String getName(){
		return this.name;
	}

	/**
	 *方法: 设置String
	 *@param: String  分类名称
	 */
	public void setName(String name){
		this.name = name;
	}
	
	/**
	 *方法: 取得String
	 *@return: String  删除标记
	 */
	public String getDelFlag(){
		return this.delFlag;
	}

	/**
	 *方法: 设置String
	 *@param: String  删除标记
	 */
	public void setDelFlag(String delFlag){
		this.delFlag = delFlag;
	}
	
	/**
	 *方法: 取得Date
	 *@return: Date  创建时间
	 */
	public Date getCreateTime(){
		return this.createTime;
	}

	/**
	 *方法: 设置Date
	 *@param: Date  创建时间
	 */
	public void setCreateTime(Date createTime){
		this.createTime = createTime;
	}

	public Integer getSort() {
		return sort;
	}

	public void setSort(Integer sort) {
		this.sort = sort;
	}

	public Category getParentCategory() {
		return parentCategory;
	}

	public void setParentCategory(Category parentCategory) {
		this.parentCategory = parentCategory;
	}

	public List<Category> getChildren() {
		return children;
	}

	public void setChildren(List<Category> children) {
		this.children = children;
	}

	public Integer getChildNum() {
		return childNum;
	}

	public void setChildNum(Integer childNum) {
		this.childNum = childNum;
	}
	
}
